package com.gonsin.gview.common.services;

import com.gonsin.gview.common.po.FileUploadBo;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;

/**
 * 文件上传逻辑
 */
public interface IUpdateService {

    /**
     * 通过key实现分片上传文件
     * 先调用readyToUpdate()方法获取Key
     */
    void update(String key, MultipartFile piece, int index, boolean end);

    /**
     * 分片上传逻辑相关
     */
    String readyToUpdate(String url, String suffix);

    /**
     * 根据分片的key获取完成的文件
     */
    File getFileByKey(String key);

    /**
     * 移除文件
     */
    void removeFile(long key);

    /**
     * 根据分片获取文件的下载路径
     */
    FileUploadBo getUrlByKey(String key);

}
